package cn.yuanqiao.cqbc.yqSetPlate.service;

import cn.yuanqiao.common.core.domain.TreeSelect;
import cn.yuanqiao.cqbc.dataManage.domain.DataManage;
import cn.yuanqiao.cqbc.yqSetPlate.domain.YqSetPlateRule;
import cn.yuanqiao.cqbc.yqSetPlate.exception.SetPlateRuleException;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 组盘规则表 服务类
 * </p>
 *
 * @author lyk
 * @since 2022-11-22
 */
public interface YqSetPlateRuleService  {

    /**
     * 新增
     *
     * @author lyk
     * @Date 2022-11-22
     */
    int add(YqSetPlateRule param);

    /**
     * 删除
     *
     * @author lyk
     * @Date 2022-11-22
     */
    int delete(Long id);

    /**
     * 更新
     *
     * @author lyk
     * @Date 2022-11-22
     */
    int update(YqSetPlateRule param);

    /**
     * 查询单条数据，Specification模式
     *
     * @author lyk
     * @Date 2022-11-22
     */
    YqSetPlateRule findBySpec(YqSetPlateRule param);

    YqSetPlateRule getById(Long id);

    //Map<String,Object> getAddData(YqSetPlateRule param);

    List<String> findBySetPlant(YqSetPlateRule item);

    /**
     * 查询列表，Specification模式
     *
     * @author lyk
     * @Date 2022-11-22
     */
    List<YqSetPlateRule> findListBySpec(YqSetPlateRule param);

    /**
     * 查询分页数据，Specification模式
     *
     * @author lyk
     * @Date 2022-11-22
     */
    List<YqSetPlateRule> findPageBySpec(YqSetPlateRule param);

    //List<List<Archives>> getPageDate(List<Archives> yqDataManageList, String size, String count) throws SetPlateRuleException;

    List<List<DataManage>> getPageDateZip(List<DataManage> yqDataManageList, String size, String count) throws SetPlateRuleException;


    boolean moveFileToPath(String newFile, String newPath);


    List<TreeSelect> tree();

    boolean copyFileToPath(String filePathItem, String savePath);
}
